package CDB;
// Generated 31-ago-2013 13:25:05 by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Categorias generated by hbm2java
 */
@Entity
@Table(name="categorias"
    ,catalog="salestedispatcher"
)
public class Categorias  implements java.io.Serializable {


     private Integer idcategoria;
     private String nombre;
     private boolean subcategorias;
     private Set<Detallesubcategoria> detallesubcategorias = new HashSet<Detallesubcategoria>(0);
     private Set<Producto> productos = new HashSet<Producto>(0);

    public Categorias() {
    }

	
    public Categorias(String nombre, boolean subcategorias) {
        this.nombre = nombre;
        this.subcategorias = subcategorias;
    }
    public Categorias(String nombre, boolean subcategorias, Set<Detallesubcategoria> detallesubcategorias, Set<Producto> productos) {
       this.nombre = nombre;
       this.subcategorias = subcategorias;
       this.detallesubcategorias = detallesubcategorias;
       this.productos = productos;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="idcategoria", unique=true, nullable=false)
    public Integer getIdcategoria() {
        return this.idcategoria;
    }
    
    public void setIdcategoria(Integer idcategoria) {
        this.idcategoria = idcategoria;
    }
    
    @Column(name="nombre", nullable=false, length=25)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    @Column(name="subcategorias", nullable=false)
    public boolean isSubcategorias() {
        return this.subcategorias;
    }
    
    public void setSubcategorias(boolean subcategorias) {
        this.subcategorias = subcategorias;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="categorias")
    public Set<Detallesubcategoria> getDetallesubcategorias() {
        return this.detallesubcategorias;
    }
    
    public void setDetallesubcategorias(Set<Detallesubcategoria> detallesubcategorias) {
        this.detallesubcategorias = detallesubcategorias;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="categorias")
    public Set<Producto> getProductos() {
        return this.productos;
    }
    
    public void setProductos(Set<Producto> productos) {
        this.productos = productos;
    }




}


